<?php


namespace app\api\service;


use OSS\Core\OssException;
use OSS\OssClient;

class Oss
{
   public static function upload($path){
       // 阿里云主账号AccessKey拥有所有API的访问权限，风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维，请登录RAM控制台创建RAM账号。
       $accessKeyId = "LTAI4G3N1S4pMrVNx77dSA7v";
       $accessKeySecret = "w2WPCRxM1xnL7q9XZDyd9zGM3w1nKf";
// Endpoint以杭州为例，其它Region请按实际情况填写。
       $endpoint = "http://oss-cn-shanghai.aliyuncs.com";
// 设置存储空间名称。
       $bucket= "bliuce";
// 设置文件名称。
       $object = time().rand(100,999).".jpg";
// <yourLocalFile>由本地文件路径加文件名包括后缀组成，例如/users/local/myfile.txt。
       $filePath = $path;

       try{
           $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);

           $ossClient->uploadFile($bucket, $object, $filePath);
       } catch(OssException $e) {
           printf(__FUNCTION__ . ": FAILED\n");
           printf($e->getMessage() . "\n");
           return;
       }

       $url = self::getUrl($object);
       return ['code'=>200,'msg'=>'上传成功','url'=>$url];

   }


   public static function getUrl($obj){
       // 阿里云主账号AccessKey拥有所有API的访问权限，风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维，请登录RAM控制台创建RAM账号。
       $accessKeyId = "LTAI4G3N1S4pMrVNx77dSA7v";
       $accessKeySecret = "w2WPCRxM1xnL7q9XZDyd9zGM3w1nKf";
// Endpoint以杭州为例，其它Region请按实际情况填写。
       $endpoint = "https://oss-cn-shanghai.aliyuncs.com";
       $bucket= "bliuce";
       $object = $obj;

       $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);

// 生成一个带图片处理参数的签名的URL，有效期是3600秒，可以直接使用浏览器访问。
       $timeout = 3600*5;
       $options = array(
           OssClient::OSS_PROCESS => "image/resize,m_lfit,h_100,w_100" );
       $signedUrl = $ossClient->signUrl($bucket, $object, $timeout, "GET", $options);

     return $signedUrl;
   }
}